Accelerating Decoupled Look-ahead via Weak Dependence Removal: A Metaheuristic Approach – Technical Report∗
نویسندگان
چکیده
Despite the proliferation of multi-core and multi-threaded architectures, exploiting implicit parallelism for a single semantic thread is still a crucial component in achieving high performance. Look-ahead is a tried-and-true strategy in uncovering implicit parallelism, but a conventional, monolithic out-of-order core quickly becomes resource-inefficient when looking beyond a small distance. A more decoupled approach with an independent, dedicated look-ahead thread on a separate thread context can be a more flexible and effective implementation, especially in a multi-core environment. While capable of generating significant performance gains, the look-ahead agent often becomes the new speed limit. Fortunately, the look-ahead thread has no hard correctness constraints and presents new opportunities for optimizations. One such opportunity is to exploit “weak” dependences. Intuitively, not all dependences are equal. Some links in a dependence chain are weak enough that removing them in the look-ahead thread does not materially affect the quality of look-ahead but improves the speed. While there are some common patterns of weak dependences, they can not be generalized as heuristics in generating better code for the look-ahead thread. A primary reason is that removing a false weak dependence can be exceedingly costly. Nevertheless, a trial-and-error approach can reliably identify opportunities for improving the look-ahead thread and quantify the benefits. A framework based on genetic algorithm can help search for the right set of changes to the look-ahead thread. In the set of applications where the speed of look-ahead has become the new limit, this method is found to improve the overall system performance by up to 1.48x with a geometric mean of 1.14x over the baseline decoupled look-ahead system, while reducing energy consumption by 11%.
منابع مشابه
Accelerating Decoupled Look-ahead to Exploit Implicit Parallelism
Despite the proliferation of multi-core and multi-threaded architectures, exploiting implicit parallelism for a single semantic thread is still a crucial component in achieving high performance. While a canonical out-of-order engine can effectively uncover implicit parallelism in sequential programs, its effectiveness is often hindered by instruction and data supply imperfections (manifested as...
متن کاملSpeculative Parallelization in Decoupled Look-ahead Architectures
One well known approach to mitigate the impact of branch mispredictions and cache misses is to enable deep lookahead so as to overlap instruction and data supply with instruction processing. A continuous look-ahead process which uses separate thread of control on another hardware contexts is one such approach which we call decoupled look-ahead [1], [2]. However, in such look-ahead schemes, look...
متن کاملA Rollout Metaheuristic for Job Shop Scheduling Problems
In this paper we deal with solution algorithms for a general formulation of the job shop problem, called alternative graph. We study in particular the job shop scheduling problem with blocking and/or no-wait constraints. Most of the key properties developed for solving the job shop problem with infinite capacity buffer do not hold in the more general alternative graph model. In this paper we re...
متن کاملPrediction of Driver’s Accelerating Behavior in the Stop and Go Maneuvers Using Genetic Algorithm-Artificial Neural Network Hybrid Intelligence
Research on vehicle longitudinal control with a stop and go system is presently one of the most important topics in the field of intelligent transportation systems. The purpose of stop and go systems is to assist drivers for repeatedly accelerate and stop their vehicles in traffic jams. This system can improve the driving comfort, safety and reduce the danger of collisions and fuel consumption....
متن کاملLook Ahead Features in Metaheuristics
In many meta-heuristics greedy choices are performed and usually measured by means of an immediate gain eventually leading to suboptimal choices. Usually, the measure of this gain as well as a mechanism to guide the choices given the evaluations is performed rather shortsighted. Therefore, especially in the artificial intelligence community researchers have thought about looking ahead (see, e.g...
متن کامل